// 复用的作用

// 泛型接口
interface IdFn<T> {
  id: () => T
  ids: () => T[]
  msg?: T
}
const objFn: IdFn<number> = {
  id() {
    return 1
  },
  ids() {
    return [1, 2]
  },
}

console.log(objFn)

const objMsg: IdFn<string> = {
  id() {
    return '哈哈'
  },
  ids() {
    return ['吊带', '篮球']
  },
  msg: 'cxk 打篮球 真好看',
}
console.log(objMsg)

// 内置泛型

const arr: number[] = [1, 2, 3]

const arr1: Array<number> = [1, 2, 3] // 内置泛型
const arrMsg: Array<string> = ['1', '2', '3'] // 内置泛型
